package com.sudo.boot.mapper.sys.model.vo;

import com.sudo.boot.base.constant.enums.EnumIdToName;
import com.sudo.boot.mybatisflex.annotation.FromId;
import com.sudo.boot.mybatisflex.annotation.ToName;
import com.sudo.boot.mybatisflex.base.BaseVo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 用户分页VO
 *
 * @author DayDayUp
 * @datetime 2023-11-02 17:31
 **/
@Data
@EqualsAndHashCode(callSuper = true)
public class SysUserDetailVo extends BaseVo {

    /**
     * 乐观锁
     */
    @FromId(em = EnumIdToName.WX_ID_NAME)
    private Integer id;

    /**
     * 账户名 创建后不能修改
     */
    private String username;

    /**
     * 邮箱 注册邮箱
     */
    private String email;
    /**
     * 手机号
     */
    private String phone;

    /**
     * 性别
     */
    private String sex;
    /**
     * 昵称
     */
    private String nickName;

    /**
     * 账户状态
     * {@link com.sudo.boot.base.constant.enums.EnumStatus}
     */
    private String status;

    /**
     * 来源
     */
    private String source;

    /**
     * 签名
     */
    private String signature;

    /**
     * 头像
     */
    private String profilePhoto;

    /**
     * 生日
     */
    private String birthday;

    /**
     * 备注
     */
    private String note;

    /**
     * 默认角色
     */
    private String defaultRoleCode;
    /**
     * 微信名
     */
    @ToName(em = EnumIdToName.WX_ID_NAME)
    private String wxUserName;

    // ===== 角色 =====
    List<SysUserRoleVo> userRoleVOList;
}
